Reacquiring communication link based on historical data

ABSTRACT

The disclosure provides for a method for reacquiring a communication link between a first communication device and a second communication device. The method includes using one or more processors of the first communication device to receive historical data related to the first communication device and an environment surrounding the first communication device. The one or more processors are then used to determine one or more trends in the historical data related to fading of the communication link. Based on the one or more trends, the one or more processors are used to determine a starting time and an initial search direction for a search for the communication link. The one or more processors then execute the search at the starting time from the initial search direction.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.17/867,858, filed Jul. 19, 2022 which is a continuation of U.S. patentapplication Ser. No. 17/070,585, filed Oct. 14, 2020, issued as U.S.Pat. No. 11,431,411, which is a continuation of U.S. patent applicationSer. No. 16/865,489, filed May 4, 2020, issued as U.S. Pat. No.10,841,008, which is a continuation of U.S. patent application Ser. No.16/256,393, filed Jan. 24, 2019, issued as U.S. Pat. No. 10,680,710, thedisclosures of which are hereby incorporated herein by reference.

BACKGROUND

Communication terminals may transmit and receive optical signals throughfree space optical communication (FSOC) links. In order to accomplishthis, such terminals generally use acquisition and tracking systems toestablish the optical link by pointing optical beams towards oneanother. For instance, a transmitting terminal may use a beacon laser toilluminate a receiving terminal, while the receiving terminal may use aposition sensor to locate the transmitting terminal and to monitor thebeacon laser. Steering mechanisms may maneuver the terminals to pointtoward each other and to track the pointing once acquisition isestablished. A high degree of pointing accuracy may be required toensure that the optical signal will be correctly received.

The mechanisms of communication terminals may vary physically due todifferences in operation over time. For example, mechanisms may becycled through large temperature ranges and experience significantlyvarying plant (mechanism) characteristics. Mechanisms may wear with use,which may change friction and viscosity characteristics. Mechanisms mayalso have components that reduce performance using traditional controlstechniques. In these situations, it may be difficult to compensate forthe variability caused by the changes in the components in order toobtain reliable operation of a communication terminal.

BRIEF SUMMARY

Aspects of the disclosure provide for a method for reacquiring acommunication link between a first communication device and a secondcommunication device. The method includes receiving, by one or moreprocessors of the first communication device, historical data related tothe first communication device and an environment surrounding the firstcommunication device; determining, by the one or more processors, one ormore trends in the historical data related to fading of thecommunication link; determining, by the one or more processors based onthe one or more trends, a starting time and an initial search directionfor a search for the communication link; and executing, by the one ormore processors, the search at the starting time from the initial searchdirection.

In one example, determining the one or more trends includes determininga given trend by identifying a given time period during a given cyclewhere fades occur more often than in other time periods, and determininga characteristic of environmental data or physical data from thehistorical data that corresponds with the given time period. In anotherexample, determining the one or more trends includes determining a giventrend by identifying characteristics of environmental data or physicaldata from the historical data that occurs prior to a fade. In a furtherexample, determining the one or more trends includes determining a giventrend by identifying a characteristic of a fade using physical data fromthe historical data, and matching the characteristic of the fade with acharacteristic of environmental data from the historical data.

In yet another example, determining the one or more trends includesdetermining a given trend by identifying an amount of drift of thecommunication device from the linked pointing direction using physicaldata from the historical data. In a still further example, determiningthe starting time and the initial search direction includes determininga point in time when environmental data from the historical data doesnot includes factors that prevent transmission of a signal from thefirst communication device, or determining a predicted location of thesecond communication device based on the one or more trends. In anotherexample, the method also includes adjusting, by the one or moreprocessors, a pointing direction of the first communication device whileexecuting the search according to current data related to the firstcommunication device and the environment surrounding the firstcommunication device.

Other aspects of the disclosure provide for a communication system. Thecommunication system includes one or more sensors configured to detectdata related to the communication system and an environment surroundingthe communication system; a steering mechanism; and one or moreprocessors operatively coupled to the one or more sensors and thesteering mechanism. The one or more processors are configured to receivehistorical data related to the communication system and the environmentsurrounding the communication system; determine one or more trends inthe historical data related to fading of a communication link with aremote communication system; determine, based on the one or more trends,a starting time and an initial search direction for a search for thecommunication link; and control the steering mechanism to execute thesearch at the starting time from the initial search direction.

In one example, the one or more processors are configured to determinethe one or more trends according to an identification of a given timeperiod during a given cycle where fades occur more often than in othertime periods, and a determination of a characteristic of environmentaldata or physical data from the historical data that corresponds with thegiven time period. In another example, determining the one or moretrends according to a determination of a given trend by identifyingcharacteristics of environmental data or physical data from thehistorical data that occurs prior to a fade. In a further example, theone or more processors are configured to determine the one or moretrends according to an identification of a characteristic of a fadeusing physical data from the historical data, and a match of thecharacteristic of the fade with a characteristic of environmental datafrom the historical data.

In yet another example, the one or more processors are configured todetermine the one or more trends according to identification of anamount of drift of the communication system from the linked pointingdirection using physical data from the historical data. In a stillfurther example, the one or more processors are configured to determinethe starting time and the initial search direction according to adetermination of a point in time when environmental data from thehistorical data does not includes factors that prevent transmission of asignal from the first communication device, or a determination of apredicted location of the second communication device based on the oneor more trends. In another example, the one or more processors arefurther configured to control the steering mechanism to adjust apointing direction of the communication system while executing thesearch according to current data related to the communication system andthe environment surrounding the communication system.

Further aspects of the disclosure provide for a non-transitory, tangiblecomputer-readable storage medium on which computer readable instructionsof a program are stored. The instructions, when executed by one or moreprocessors of a first communication device, cause the one or moreprocessors to perform a method. The method includes receiving historicaldata related to the first communication device and an environmentsurrounding the first communication device; determining one or moretrends in the historical data related to fading of a communication linkwith a second communication device; determining, based on the one ormore trends, a starting time and an initial search direction for asearch for the communication link; and executing the search at thestarting time from the initial search direction.

In one example, determining the one or more trends includes determininga given trend by identifying a given time period during a given cyclewhere fades occur more often than in other time periods, and determininga characteristic of environmental data or physical data from thehistorical data that corresponds with the given time period. In anotherexample, determining the one or more trends includes determining a giventrend by identifying characteristics of environmental data or physicaldata from the historical data that occurs prior to a fade. In a furtherexample, determining the one or more trends includes determining a giventrend by identifying a characteristic of a fade using physical data fromthe historical data, and matching the characteristic of the fade with acharacteristic of environmental data from the historical data.

In yet another example, determining the one or more trends includesdetermining a given trend by identifying an amount of drift of thecommunication device from the linked pointing direction using physicaldata from the historical data. In a still further example, the methodalso includes adjusting a pointing direction of the first communicationdevice while executing the search according to current data related tothe first communication device and the environment surrounding the firstcommunication device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram 100 of a first communication device and asecond communication device in accordance with aspects of thedisclosure.

FIG. 2 is a pictorial diagram of a network 200 in accordance withaspects of the disclosure.

FIG. 3 is a flow diagram 300 depicting a method in accordance withaspects of the disclosure.

DETAILED DESCRIPTION Overview

The technology relates to a method of acquiring a communication linkusing historical data related to a communication device and anenvironment surrounding the communication device. The communicationdevice may be configured to initially acquire the communication link, orreacquire the communication link after the communication link goes down,by performing a search through a series of varying pointing directions.

These features, described in more detail below, can provide acommunication device that may respond to fades and other conditionsquickly. The system may start the search at a particular time from amore useful starting location and therefore be able to reduce the timeto realign and reestablish the link. The system may also have a higheraverage throughput due to reduced search-related downtime leading toincreased availability. In addition, the system may also use less powerand have a longer lifetime as a result of more efficient searching.

Example Systems

FIG. 1 is a block diagram 100 of a first communication device 102 of afirst communication terminal configured to form one or more links with asecond communication device 122 of a second communication terminal, forinstance as part of a system such as a free-space optical communication(FSOC) system. For example, the first communication device 102 includesone or more processors 104, a memory 106, a transmitter 112, a receiver114, a steering mechanism 116, and one or more sensors 118.

The one or more processors 104 may be any conventional processors, suchas commercially available CPUs. Alternatively, the one or moreprocessors may be a dedicated device such as an application specificintegrated circuit (ASIC) or other hardware-based processor, such as afield programmable gate array (FPGA). Although FIG. 1 functionallyillustrates the one or more processors 104 and memory 106 as beingwithin the same block, the one or more processors 104 and memory 106 mayactually comprise multiple processors and memories that may or may notbe stored within the same physical housing. Accordingly, references to aprocessor or computer will be understood to include references to acollection of processors or computers or memories that may or may notoperate in parallel.

Memory 106 may store information accessible by the one or moreprocessors 104, including data 108, and instructions 110, that may beexecuted by the one or more processors 104. The memory may be of anytype capable of storing information accessible by the processor,including a computer-readable medium such as a hard-drive, memory card,ROM, RAM, DVD or other optical disks, as well as other write-capable andread-only memories. The system and method may include differentcombinations of the foregoing, whereby different portions of the data108 and instructions 110 are stored on different types of media. In thememory of each communication device, such as memory 106, calibrationinformation may be stored, such as one or more offsets determined fortracking a signal.

Data 108 may be retrieved, stored or modified by the one or moreprocessors 104 in accordance with the instructions 110. For instance,although the technology is not limited by any particular data structure,the data 108 may be stored in computer registers, in a relationaldatabase as a table having a plurality of different fields and records,XML documents or flat files.

The instructions 110 may be any set of instructions to be executeddirectly (such as machine code) or indirectly (such as scripts) by theone or more processors 104. For example, the instructions 110 may bestored as computer code on the computer-readable medium. In that regard,the terms “instructions” and “programs” may be used interchangeablyherein. The instructions 110 may be stored in object code format fordirect processing by the one or more processors 104, or in any othercomputer language including scripts or collections of independent sourcecode modules that are interpreted on demand or compiled in advance.Functions, methods and routines of the instructions 110 are explained inmore detail below.

The one or more processors 104 are in communication with the transmitter112 and the receiver 114. Transmitter 112 and receiver 114 may be partof a transceiver arrangement in the first communication device 102. Theone or more processors 104 may therefore be configured to transmit, viathe transmitter 112, data in a signal, and also may be configured toreceive, via the receiver 114, communications and data in a signal. Thereceived signal may be processed by the one or more processors 104 toextract the communications and data.

The transmitter 112 may be configured to output a beacon beam 20 thatallows one communication device to locate another, as well as acommunication signal over a communication link 22. The communicationsignal may be a signal configured to travel through free space, such as,for example, a radio-frequency signal or optical signal. In some cases,the transmitter includes a separate beacon transmitter configured totransmit the beacon beam and one or more communication link transmittersconfigured to transmit the optical communication beam. Alternatively,the transmitter 112 may include one transmitter configured to outputboth the beacon beam and the communication signal. The beacon beam 20may illuminate a larger solid angle in space than the opticalcommunication beam used in the communication link 22, allowing acommunication device that receives the beacon beam to better locate thebeacon beam. For example, the beacon beam carrying a beacon signal maycover an angular area on the order of a square milliradian, and theoptical communication beam carrying a communication signal may cover anangular area on the order of a hundredth of a square milliradian.

As shown in FIG. 1 , the transmitter 112 of the first communicationdevice 102 is configured to output a beacon beam 20 a to establish acommunication link 22 a with the second communication device 122, whichreceives the beacon beam 20 a. The first communication device 102 mayalign the beacon beam 20 a co-linearly with the optical communicationbeam (not shown) that has a narrower solid angle than the beacon beam 20a and carries a communication signal 24. As such, when the secondcommunication device 122 receives the beacon beam 20 a, the secondcommunication device 122 may establish a line-of-sight link with thefirst communication device 102 or otherwise align with the firstcommunication device. As a result, the communication link 22 a thatallows for the transmission of the optical communication beam (notshown) from the first communication device 102 to the secondcommunication device 122 may be established.

The receiver 114 may include an optical fiber and a tracking systemconfigured to detect the optical beam. The tracking system may includeat least a tracking sensor. In addition, the tracking system may alsoinclude a lens, mirror, or other system configured to divert a portionof a received optical beam to the tracking sensor and allow theremaining portion of the received optical beam to couple with theoptical fiber. The tracking sensor may include, but is not limited to, aposition sensitive detector (PSD), a charge-coupled device (CCD) camera,a focal plane array, a photodetector, a quad-cell detector array, or aCMOS sensor. The tracking sensor is configured to detect a signallocation at the tracking sensor and convert the received optical beaminto an electric signal using the photoelectric effect. The trackingsystem is able to track the received optical beam, which may be used todirect the steering mechanism 116 to counteract disturbances due toscintillation and/or platform motion.

Furthermore, the one or more processors 104 are in communication withthe steering mechanism 116 for adjusting the pointing direction of thetransmitter 112, receiver 114, and/or optical beam. The steeringmechanism 116 may include one or more mirrors that steer an opticalsignal through the fixed lenses and/or a gimbal configured to move thetransmitter 112 and/or the receiver 114 with respect to thecommunication device. In particular, the steering mechanism 116 may be aMEMS 2-axis mirror, 2-axis voice coil mirror, or piezo electronic 2-axismirror. The steering mechanism 116 may be configured to steer thetransmitter, receiver, and/or optical beam in at least two degrees offreedom, such as, for example, yaw and pitch. The adjustments to thepointing direction may be made to acquire a communication link, such ascommunication link 22, between the first communication device 102 andthe second communication device 122. To perform a search for acommunication link, the one or more processors 104 may be configured usethe steering mechanism 116 to point the transmitter 112 and/or thereceiver 114 in a series of varying directions until a communicationlink is acquired. In addition, the adjustments may optimize transmissionof light from the transmitter 112 and/or reception of light at thereceiver 114.

The one or more processors 104 are also in communication with the one ormore sensors (or estimators) 118. The one or more sensors 118 may beconfigured to monitor a state of the first communication device 102. Theone or more sensors may include an inertial measurement unit (IMU),encoders, accelerometers, and/or gyroscopes configured to measure one ormore of pose, angle, velocity, torques, as well as other forces. Inaddition, the one or more sensors 118 may include components configuredto measure one or more environmental conditions such as, for example,temperature, wind, radiation, precipitation, humidity, etc. In thisregard, the one or more sensors 118 may include thermometers, barometersand/or hygrometers, etc. While the one or more sensors 118 are depictedin FIG. 1 as being in the same block as the other components of thefirst communication device 102, in some implementations, some or all ofthe one or more sensors may be separate and/or physically remote fromthe first communication device 102.

The second communication device 122 includes one or more processors 124,a memory 126, a transmitter 132, a receiver 134, a steering mechanism136, and one or more sensors 138. The one or more processors 124 may besimilar to the one or more processors 104 described above. Memory 126may store information accessible by the one or more processors 124,including data 128 and instructions 130 that may be executed byprocessor 124. Memory 126, data 128, and instructions 130 may beconfigured similarly to memory 106, data 108, and instructions 110described above. In addition, the transmitter 132, the receiver 134, andthe steering mechanism 136 of the second communication device 122 may besimilar to the transmitter 112, the receiver 114, and the steeringmechanism 116 described above.

Like the transmitter 112, transmitter 132 may be configured to outputboth an optical communication beam and a beacon beam. For example,transmitter 132 of the second communication device 122 may output abeacon beam 20 b to establish a communication link 22 b with the firstcommunication device 102, which receives the beacon beam 20 b. Thesecond communication device 122 may align the beacon beam 20 bco-linearly with the optical communication beam (not shown) that has anarrower solid angle than the beacon beam and carries anothercommunication signal. As such, when the first communication device 102receives the beacon beam 20 a, the first communication device 102 mayestablish a line-of-sight with the second communication device 122 orotherwise align with the second communication device. As a result, thecommunication link 22 b, that allows for the transmission of the opticalcommunication beam (not shown) from the second communication device 122to the first communication device 102, may be established.

Like the receiver 114, the receiver 134 includes an optical fiber and atracking system configured to detect the optical beam with the same orsimilar features as described above with respect to the receiver 114. Inaddition, the tracking system may also include a lens, mirror, or othersystem configured to divert a portion of a received optical beam to thetracking sensor and allow the remaining portion of the received opticalbeam to couple with the optical fiber. The tracking system of receiver134 is configured to track the received optical beam, which may be usedto direct the steering mechanism 136 to counteract disturbances due toscintillation and/or platform motion.

The one or more processors 124 are in communication with the steeringmechanism 136 for adjusting the pointing direction of the transmitter132, receiver 134, and/or optical beam, as described above with respectto the steering mechanism 116. The adjustments to the pointing directionmay be made to establish acquisition and connection link, such ascommunication link 22, between the first communication device 102 andthe second communication device 122. In addition, the one or moreprocessors 124 are in communication with the one or more sensors 138 asdescribed above with respect to the one or more sensors 118. The one ormore sensors 138 may be configured to monitor a state of the secondcommunication device 122 in a same or similar manner that the one ormore sensors 118 are configured to monitor the state of the firstcommunication device 102.

As shown in FIG. 1 , the communication links 22 a and 22 b may be formedbetween the first communication device 102 and the second communicationdevice 122 when the transmitters and receivers of the first and secondcommunication devices are aligned, or in a linked pointing direction.Using the communication link 22 a, the one or more processors 104 cansend communication signals to the second communication device 122. Usingthe communication link 22 b, the one or more processors 124 can sendcommunication signals to the first communication device 102. In someexamples, it is sufficient to establish one communication link 22between the first and second communication devices 102, 122, whichallows for the bi-directional transmission of data between the twodevices. The communication links 22 in these examples are FSOC links. Inother implementations, one or more of the communication links 22 may beradio-frequency communication links or another type of communicationlink capable of travelling through free space.

As shown in FIG. 2 , a plurality of communication devices, such as thefirst communication device 102 and the second communication device 122,may be configured to form a plurality of communication links(illustrated as arrows) between a plurality of communication terminals,thereby forming a network 200. The network 200 may include clientdevices 210 and 212, server device 214, and communication devices 102,122, 220, 222, and 224. Each of the client devices 210, 212, serverdevice 214, and communication devices 220, 222, and 224 may include oneor more processors, a memory, a transmitter, a receiver, and a steeringmechanism similar to those described above. Using the transmitter andthe receiver, each communication device in network 200 may form at leastone communication link with another communication device, as shown bythe arrows. The communication links may be for optical frequencies,radio frequencies, other frequencies, or a combination of differentfrequency bands. In FIG. 2 , the communication device 102 is shownhaving communication links with client device 210 and communicationdevices 122, 220, and 222. The communication device 122 is shown havingcommunication links with communication devices 102, 220, 222, and 224.

The network 200 as shown in FIG. 2 is illustrative only, and in someimplementations the network 200 may include additional or differentcommunication terminals. The network 200 may be a terrestrial networkwhere the plurality of communication devices is on a plurality of groundcommunication terminals. In other implementations, the network 200 mayinclude one or more high-altitude platforms (HAPs), which may beballoons, blimps or other dirigibles, airplanes, unmanned aerialvehicles (UAVs), satellites, or any other form of high altitudeplatform, or other types of moveable or stationary communicationterminals. In some implementations, the network 200 may serve as anaccess network for client devices such as cellular phones, laptopcomputers, desktop computers, wearable devices, or tablet computers. Thenetwork 200 also may be connected to a larger network, such as theInternet, and may be configured to provide a client device with accessto resources stored on or provided through the larger computer network.

Example Methods

When the communication link 22 between the first communication device102 and the second communication device 122 is lost or fades, the one ormore processors 104 may determine settings for a search for reacquiringthe communication link 22 prior to executing the search as describedbelow and depicted in flow diagram 300 in FIG. 3 . In FIG. 3 , flowdiagram 300 is shown in accordance with aspects of the disclosure thatmay be performed by the one or more processors 104 of the firstcommunication device 102. While FIG. 3 shows blocks in a particularorder, the order may be varied and multiple operations may be performedsimultaneously. Also, operations may be added or omitted. The one ormore processors 124 may also determine settings for a search forreacquiring the communication link 22 in a same or similar way.

At block 302, the one or more processors 104 of the first communicationdevice 102 receive historical data related to the first communicationdevice 102 and the environment surrounding the first communicationdevice. The historical data may include environmental data, such astemperature, humidity, wind patterns, etc., over a time frame. By way ofexample, the environmental data may be obtained using the one or moresensors 118, retrieved from a local memory, or received from a remotedatabase. The time frame may be, for example, 12 hours, a day, a month,or a year. The historical data may also include physical data related toa status of the first communication device 102, such as telemetrymeasurements or IMU measurements from the one or more sensors 118. Thetelemetry measurements may include data related to a fade of the opticalsignal, such as an amount of power or a frequency received over a timeframe from a beacon beam or a communication beam. The IMU measurementsmay include an orientation of the first communication device 102 overtime. The time frame for the telemetry measurements may be, for example,30 seconds, 10 minutes, or a 24 hour period. The sampling rate for thesemeasurements may be 50 kHz, or more or less, which may also be averagedover equal intervals in order to track the measurements at a lowerfrequency, such as 1 Hz.

At block 304, the one or more processors 104 determine one or moretrends in the historical data related to fading of the communicationlink 22 between the first communication device 102 and the secondcommunication device 122. The one or more processors 104 may determine afirst trend by identifying a time period during a 24-hour cycle wherefades occur more often than other time periods and determining acharacteristic of environmental data or physical data that correspondswith the same time period. For example, the first trend in thehistorical data may be that fades occur more often at or around sunrise,or between 5 a.m. and 7 a.m., when the relative humidity is the highestor fog is most often forecasted or detected. The one or more processors104 may also determine a second trend by identifying characteristics ofenvironmental data or physical data that often occurs just prior to afade, such as within 10 seconds, 1 minute, 30 minutes, or more or lessbefore the fade. Characteristics of the environmental data or physicaldata may be related to a gust of wind having at least a minimum speed.The one or more processors 104 may also determine a third trend byidentifying a characteristic of a fade using the physical data andmatching the characteristic of the fade with a characteristic ofenvironmental data. For example, the third trend in the historical datamay be that the amount of fluctuation from maximum to minimum receivedpower (i.e., dynamic range) and/or amount of signal power over timematches the amount of dynamic range and/or amount of signal power overtime due to the presence of fog or rain. When fog is coming in, thedynamic range will stay the same or decrease as fog increases, and theamount of signal power will steadily drop over time. When rain ispresent, the dynamic range will increase or vary more erratically overtime, and the amount of average power will vary up and down at a morerapid rate than in the presence of fog. The one or more processors 104may determine a fourth trend by identifying an amount of drift of thefirst communication device 102 from the linked pointing direction usingthe physical data. In this example, the drift may be detected as 10degrees downwards towards the ground using the IMU measurements and thepreviously known linked pointing direction.

At block 306, the one or more processors 104 are configured to determinea starting time and an initial search direction for the search using theone or more trends in the historical data. The starting time may bedetermined to be a point in time when environmental data does notinclude factors that prevent transmission or receipt of a signal fromthe first communication device. For example, the point in time may beafter environmental factors that obstruct transmission or receipt of anoptical signal has left the environment of the first communicationdevice 102. For example, based on the first trend, the one or moreprocessors 104 may determine the starting time to be at least after 7a.m., when the relative humidity historically begins to lower during theday. Based on the third trend, the one or more processors 104 maydetermine the starting time to be after the fog around the firstcommunication device 102 decreases to an acceptable amount.

The initial search direction may be determined based on a predictedlocation of the second communication device 122. For example, based onthe first trend and the third trend, the initial search direction may bedetermined as a current pointing direction of the first communicationdevice 102 since the fade was likely due to environmental factorsunrelated to the pointing direction of the first communication device102 or the second communication device 122. Based on the third trend,the initial search direction may be determined to be a number of degreesopposite the direction of the gust of wind to counteract a possibleshift of the first communication device 102 or the second communicationdevice 122 due to the gust of wind. Based on the fourth trend, theinitial search direction may be determined to be 10 degrees upwards awayfrom the ground to counteract the detected drift of the firstcommunication device 102.

At block 308, the one or more processors 104 are able to execute thesearch at the starting time from the initial search direction. Executingthe search may include controlling the steering mechanism 116 of thefirst communication device 102 to point the transmitter 112 and/or thereceiver 114 in a search pattern comprising a plurality of directionsthat starts from the initial search direction. The plurality ofdirections may increase in distance from the initial search direction.When the search pattern is started from the initial search directionthat has been determined as described above, a linked pointing directionmay be closer to the initial search direction than when the initialsearch direction is determined in other ways. In addition, when thesearch is started at the starting time that has been determined asdescribed above, the search may be started when conditions forreacquiring the communication link are better than when the startingtime is determined in other ways. As such, a communication link may bereacquired earlier in the search.

In some implementations, the one or more processors 104 may furtherdetermine other settings for the search and execute them. The othersettings may include an amount of power, a frequency, or a width of asignal. Characteristics of the current environment may be predicted ordetected based on the environmental data received by the one or moreprocessors 104. The one or more processors 104 may then select theseother settings for the search based on whether the settings increasedetectability of an optical signal in the current environment.

At block 310, the one or more processors 104 are configured to adjust apointing direction of the first communication device 102 while executingthe search according to the historical data or current data related tothe first communication device 102. The adjustment may be made byestimating an amount of offset caused by changes in the environmentaldata or the physical data. Similar to the historical data describedabove, the current data may include environmental data, such astemperature, humidity, wind patterns, etc., and physical data, such astelemetry measurements or IMU measurements. For example, wind data maybe collected as current data and may be used to estimate an amount ofoffset caused by an amount of wind. In some implementations, the one ormore processors 104 may also predict an amount of offset according to atrend in the historical data and/or the current data. For example, atrend in wind data may indicate that, as an amount of wind steadilyincreases, a corresponding amount of offset of the first communicationdevice occurs. The trend may be applied extrapolated into a future timeto predict an amount of offset that may occur. The one or moreprocessors 104 may then determine an adjusted pointing direction tocounteract the estimated or predicted amount of offset caused by theamount of wind and control the steering mechanism 116 using the adjustedpointing direction. Alternatively, the one or more processors 104 mayapply an amount of drive to counteract the amount of offset caused bythe amount of wind.

At block 312, the one or more processors 104 are configured to controloperation of the communication link after the linked pointing directionis reached.

Unless otherwise stated, the foregoing alternative examples are notmutually exclusive, but may be implemented in various combinations toachieve unique advantages. As these and other variations andcombinations of the features discussed above can be utilized withoutdeparting from the subject matter defined by the claims, the foregoingdescription of the embodiments should be taken by way of illustrationrather than by way of limitation of the subject matter defined by theclaims. In addition, the provision of the examples described herein, aswell as clauses phrased as “such as,” “including” and the like, shouldnot be interpreted as limiting the subject matter of the claims to thespecific examples; rather, the examples are intended to illustrate onlyone of many possible embodiments. Further, the same reference numbers indifferent drawings can identify the same or similar elements.

1. A method comprising: estimating, by one or more processors of a firstcommunication device, an amount of offset caused by changes in anenvironment around the first communication device; executing, by the oneor more processors, a search for a linked pointing direction toreacquire a communication link between the first communication deviceand a second communication device by controlling a steering mechanism ofthe first communication device to point at least one of a transmitter ora receiver of the first communication device in different pointingdirections according to a search pattern, wherein the different pointingdirections are adjusted according to the estimated amount of offset; andin response to reaching the linked pointing direction, controlling, bythe one or more processors, operation of the communication link.
 2. Themethod of claim 1, wherein the amount of offset is based on a change ina wind pattern.
 3. The method of claim 1, wherein the amount of offsetis based on a change in temperature.
 4. The method of claim 1, whereinthe amount of offset is based on a change in humidity.
 5. The method ofclaim 1, wherein the search is executed according to historical data orcurrent data related to the first communication device.
 6. The method ofclaim 1, further comprising: receiving, by the one or more processors,environmental data; and predicting, by the one or more processors, oneor more characteristics of a current environment around the firstcommunication device based on the received environmental data.
 7. Themethod of claim 1, further comprising determining one or more settingsfor executing the search.
 8. The method of claim 7, wherein the one ormore settings include an amount of power, a frequency of a signal, or awidth of the signal.
 9. The method of claim 8, wherein the one or moresettings are selected based on whether the one or more settings increasedetectability of an optical signal.
 10. The method of claim 1, whereinthe amount of offset is estimated according to a trend in historicaldata or current data related to the first communication device.
 11. Afirst communication device comprising: a transmitter; a receiver; asteering mechanism; and one or more processors operably coupled to thesteering mechanism, the one or more processors being configured to:estimate an amount of offset caused by changes in an environment aroundthe first communication device; execute a search for a linked pointingdirection to reacquire a communication link between the firstcommunication device and a second communication device by controllingthe steering mechanism to point at least one of the transmitter or thereceiver in different pointing directions according to a search pattern,wherein the different pointing directions are adjusted according to theestimated amount of offset; and in response to reaching the linkedpointing direction, control operation of the communication link.
 12. Thefirst communication device of claim 11, wherein the amount of offset isestimated based on a change in a wind pattern.
 13. The firstcommunication device of claim 11, wherein the amount of offset isestimated based on a change in temperature.
 14. The first communicationdevice of claim 11, wherein the amount of offset is estimated based on achange in humidity.
 15. The first communication device of claim 11,wherein the search is executed according to historical data or currentdata related to the first communication device.
 16. The firstcommunication device of claim 11, wherein the one or more processors arefurther configured to: receive environmental data; and predict one ormore characteristics of a current environment around the firstcommunication device based on the received environmental data.
 17. Thefirst communication device of claim 11, wherein the one or moreprocessors are further configured to determine one or more settings forexecuting the search.
 18. The first communication device of claim 17,wherein the one or more settings include an amount of power, a frequencyof a signal, or a width of the signal.
 19. The first communicationdevice of claim 18, wherein the one or more settings are selected basedon whether the one or more settings increase detectability of an opticalsignal.
 20. The first communication device of claim 11, wherein theamount of offset is estimated according to a trend in historical data orcurrent data related to the first communication device.